/*
 * @(#)Executable.java $version 2010. 8. 11
 *
 * Copyright 2007-2010 NHN Corp. All rights Reserved. 
 * NHN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 */
package com.nhncorp.usf.core.service;

import com.nhncorp.usf.core.config.runtime.Method;

/**
 * @author Web Platform Development Team.
 */
public interface Executable {

    /**
     * Execute.
     *
     * @param method the method
     * @return the method return
     * @throws ExecutionException the execution exception
     */
    public MethodReturn execute(Method method) throws ExecutionException;

    /**
     * Before.
     *
     * @return true, if successful
     * @throws ExecutionException the execution exception
     */
    public boolean before() throws ExecutionException;

    /**
     * After.
     *
     * @return true, if successful
     * @throws ExecutionException the execution exception
     */
    public boolean after() throws ExecutionException;
}
